Qualcomm Technologies, Inc. PM8008 Regulator

PM8008 is an I2C based PMIC regulator chip.

=======================
Required Node Structure
=======================

==============================================
PM8008 chip specific device
==============================================
PM8008 chip specific properties:

- compatible:
  Usage: required
  Value type: <string>
  Definition: must be "qcom,pm8008-chip"

- pinctrl-names:
  Usage: required
  Value type: <string>
  Definition: must be "default"

- pinctrl-0:
  Usage: required
  Value type: <phandle>
  Definition: pinctrol handle for chip enable GPIO.

- interrupts:
  Usage: optional
  Value type: <prop encoded array>
  Definition: PM8008 LDO over current protection (OCP) summary interrupt.

- interrupt-names
  Usage: required if 'interrupts' property is specified.
  Value type: <string>
  Definition: This should be "ocp" for the PM8008 LDO OCP interrupt.

- regulator sub-node:
  Usage: required
  Value type: <child sub node>
  Definition: Chip enable regulator device to control chip enable
		functionality. Must be "qcom,pm8008-chip-en".
Example:
	qcom,pm8008-chip@900 {
		compatible = "qcom,pm8008-chip";

		interrupts = <0x09 4 IRQ_TYPE_EDGE_RISING>;
		interrupt-names = "ocp";

		PM8008_EN: qcom,pm8008-chip-en {
			regulator-name = "pm8008-chip-en";
		};
	};


========================================================
PM8008 regulator device
========================================================
PM8008 chip regulator specific properties:

- compatible:
  Usage: required
  Value type: <string>
  Definition: must be "qcom,pm8008-regulator"

- <pin>-supply:
  Usage: optional
  Value type: <phandle>
  Definition: Reference to parent regulator supplying the input pin, as
		described in the data sheet.
		Must be one of the following:
		vdd_l1_l2-supply: supply for LDO1/LDO2 of PM8008
		vdd_l3_l4-supply: supply for LDO3/LDO4 of PM8008
		vdd_l5-supply: supply for LDO5 of PM8008
		vdd_l6-supply: supply for LDO6 of PM8008
		vdd_l7-supply: supply for LDO7 of PM8008

- pm8008_en-supply:
  Usage: required
  Value type: <phandle>
  Definition: Reference to PM8008 chip enable regulator, which manages
		chip enable functionlity of PM8008.

- qcom,enable-ocp-broadcast:
  Usage: optional
  Value type: <bool>
  Definition: Property if present enables the LDO OCP broadcast bit.
	      This property is required only when the "ocp" interrupt
	      in the pm8008 chip module is enabled.

============================================================================
Second Level Nodes - PM8008 regulator peripherals of PM8008 regulator device
============================================================================

- qcom,hpm-min-load:
  Usage: optional
  Value type: <u32>
  Definition: Load current in uA which corresponds to the minimum load
		which requires the regulator to be in high power mode.

- qcom,min-dropout-voltage:
  Usage: optional
  Value type: <u32>
  Definition: Specifies the minimum voltage in microvolts that the parent
		supply regulator must output above the output of this
		regulator.  It is only meaningful if the corresponding parent
		supply property has been specified in the first level node.

- qcom,init-voltage
  Usage:      optional
  Value type: <u32>
  Definition: Specifies the initial voltage in microvolts to for a regulator.

- qcom,strong-pd
  Usage:      optional
  Value type: <bool>
  Definition: Property if present enables strong pull-down.

The content of each sub-node is defined by the standard binding for regulators -
see regulator.txt - with additional custom properties described below:

Example:

	qcom,pm8008-regulator {
		compatible = "qcom,pm8008-regulator";

		pm8008_en-supply = <&PM8008_EN>;
		vdd_l1_l2-supply = <&parent-supply>;
		qcom,enable-ocp-broadcast;
		...

		L1: qcom,pm8008-l1@4000 {
			reg = /bits/ 16 <0x4000>;
			regulator-name = "pm8008_l1";
			regulator-min-microvolt = <2900000>;
			regulator-max-microvolt = <3100000>;
			qcom,min-dropout-voltage = <100000>;
			qcom,hpm-min-load = <10000>;
		}

		.....
	};
